// 
// File:   model.h
// Author: kajetan
//
// Created on 21 padziernik 2007, 20:54
//

#ifndef _MODEL_H
#define _MODEL_H

#include<vector>
#include<iostream>
#include<cmath>
#include<string>
#include "stale.h"
using namespace std;

/*
 *  Klasa Model
 *
 *  Zawiera dane i metody dostepowe modelu.
 *
 *
 */

class Model {
public:
    vector< vector<double> > w[2][2];
    vector< vector<double> > ws[2][2];
    vector< vector<double> > dE;
    vector< vector<double> > oscylacje;

    vector<double> fazaPocz;
    vector<double> P[2];

    string lancuch;
    int dlugoscLancucha;
    int iloscBaz;
    
    double GAMMA;
    
//    double iN;
//    double iTot;
    
    Model();
    Model(string);

    
    void wczytajLancuch(istream);
    string getLancuch();
    int getDlugoscLancucha();
    
    double getW(int, int, int);
    double getP(int, int);
    
    void przeliczSprzezenia(double, int);
    double calkaNakrywania(double,int,int,int);
    void inicjuj();
};

#endif  /* _MODEL_H */
